package com.uzai.console.vo.user.app;

import com.uzai.console.vo.device.DeviceInfoVo;
import com.uzai.console.vo.user.MarketingRewardVo;
import com.uzai.console.vo.user.SysTagShow;
import com.uzai.console.vo.user.SysTagVo;
import com.uzai.console.vo.user.UserTreeVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @Auther: liuqi
 * @Date: 2021/8/10 14:58
 * @Description:
 */
@ApiModel("查询App用户详情")
@Data
public class AppUserInfoVo {
    @ApiModelProperty("会员ID")
    private Long id;
    @ApiModelProperty("昵称(微信昵称)")
    private String nickName;
    @ApiModelProperty("微信id")
    private String wxid;
    @ApiModelProperty("头像")
    private String headImg;
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("身份（1普通用户，2代理，3合伙人）)")
    private Integer identity;
    @ApiModelProperty("会员类型")
    private Long userType;
    @ApiModelProperty("会员类型组ID")
    private Long userTypeGroupId;
    @ApiModelProperty("会员类型组名称")
    private String userTypeGroupName;
    @ApiModelProperty("余额")
    private Double balance;
    @ApiModelProperty("积分")
    private Integer integral;
    @ApiModelProperty("支付宝姓名")
    private String alipayName;
    @ApiModelProperty("支付宝账户")
    private String alipayAccount;
    @ApiModelProperty("机器人id")
    private Long deviceUniqueId;
    @ApiModelProperty("机器人wxid")
    private String deviceId;
    @ApiModelProperty("机器人昵称")
    private String deviceName;
    @ApiModelProperty("机器人备注")
    private String deviceRemark;
    @ApiModelProperty("淘宝订单尾号")
    private Integer tbLastOrderNo;
    @ApiModelProperty("最后下单时间")
    private Integer lastOrderTime;
    @ApiModelProperty("标签")
    private List tagsArr;
    @ApiModelProperty("上级会员id")
    private Long parentId;
    @ApiModelProperty("代理ID")
    private Long agentId;
    @ApiModelProperty("合伙人ID")
    private Long partnerId;
    @ApiModelProperty("设备类型（个人微信-private_wechat; 企业微信-enterprise_wechat；公众号-wx_pub）")
    private String deviceType;

    //订阅消息
    @ApiModelProperty("退订全部（0-关闭；1-开启）")
    private Integer cancelAll;
    @ApiModelProperty("订单通知（0-关闭；1-开启）")
    private Integer orderMessage;
    @ApiModelProperty("提成通知（0-关闭；1-开启）")
    private Integer rewardMessage;
    @ApiModelProperty("群发消息（0-关闭；1-开启）")
    private Integer sendMessage;

    @ApiModelProperty("买家树字符串")
    private String parentInfo;
    @ApiModelProperty("买家树对象列表")
    private List<UserTreeVo> parentInfoList;

    @ApiModelProperty("代理树字符串")
    private String agentInfo;
    @ApiModelProperty("代理树对象列表")
    private List<UserTreeVo> agentInfoList;

    @ApiModelProperty("是否黑名单(0-正常；1-私有黑名单；2-全网黑名单；3-白名单)")
    private int blacklistFlag;
    @ApiModelProperty("私有黑名单或者全网黑名单id")
    private String blacklistId;

    @ApiModelProperty("最后群发时间")
    private Integer lastGroupSendTime;

    //公众号互通信息
    @ApiModelProperty("互通的公众号会员id")
    private Long wxpubUserId;

    @ApiModelProperty("互通的企业微信会员id")
    private Long wxworkUserId;

    @ApiModelProperty("所在其他机器人列表")
    private List<DeviceInfoVo> deviceInfoList;

    @ApiModelProperty("订阅消息")
    private String subscribeInfo;

    @ApiModelProperty("营销奖励")
    private MarketingRewardVo marketingReward;

    @ApiModelProperty("会员标签JSON")
    private String sysTags;
    @ApiModelProperty("会员标签对象List")
    private List<SysTagShow> userTagVoArr;
    @ApiModelProperty("会员标签List")
    private List<Long> sysTagsArr;

    @ApiModelProperty("淘宝SID")
    private String specialId;

    public Integer getCancelAll() {
        if (cancelAll == null) {
            cancelAll = 0;
        }
        return cancelAll;
    }

    public void setCancelAll(Integer cancelAll) {
        this.cancelAll = cancelAll;
    }

    public Integer getOrderMessage() {
        if (orderMessage == null) {
            orderMessage = 0;
        }
        return orderMessage;
    }

    public void setOrderMessage(Integer orderMessage) {
        this.orderMessage = orderMessage;
    }

    public Integer getRewardMessage() {
        if (rewardMessage == null) {
            rewardMessage = 0;
        }
        return rewardMessage;
    }

    public void setRewardMessage(Integer rewardMessage) {
        this.rewardMessage = rewardMessage;
    }

    public Integer getSendMessage() {
        if (sendMessage == null) {
            sendMessage = 0;
        }
        return sendMessage;
    }


}
